home *** CD-ROM | disk | FTP | other *** search
- #pragma once
- #include <files.h>
-
- #ifndef CAT_IS_FOLDER
- #define CAT_IS_FOLDER(a) (((a)->hFileInfo.ioFlAttrib & 0x10) != 0)
- #endif
-
- #if __cplusplus
-
-
- class FSUtil {
- public:
-
- static pascal Boolean FSpExistsQ(const FSSpec* fs);
- static pascal OSErr FSpGetCatInfo(const FSSpec* theThing,CInfoPBPtr cat);
- static pascal OSErr FSpDeleteItem(const FSSpec* spec);
- static pascal OSErr FSpCopyItem(FSSpecPtr sourceItem,FSSpecPtr destItem);
- static pascal OSErr FSpMoveRenameItem(const FSSpec* sourceItem,const FSSpec* destItem);
- static pascal OSErr UpdatePutAwayInfo(const FSSpec* theSpec);
- static pascal void FSpEnsureUniqueName(FSSpecPtr item);
- static pascal OSErr ResolveFinderAlias(FSSpecPtr aliasFile,Boolean mountVol,Boolean *targetIsFolder,FSSpecPtr result);
- static pascal OSErr FindSubFolder
- (
- short vRefNum,
- long parentDirID,
- ConstStr255Param folderName,
- Boolean createIfDontExist,
- long *folderDirID
- );
- static pascal Boolean WritableAccessQ(short refNum);
- static pascal OSErr MakeTempSpec(FSSpecPtr theResult,short onThisDisk); // can use kOnSystemDisk
- static pascal Boolean FSpIsFolderQ(const FSSpec* item);
-
- static pascal OSErr FSSpec2Path(const FSSpec* theFile,StringPtr thePath);
- static pascal OSErr FreeDiskSpace(short vRefNum,UInt32& outSpace);
-
- // this checks length and truncs, also changes colons to "."
- static pascal void EnsureLegalFileName(StringPtr ioName);
-
- static pascal Boolean ValidSystemQ(const FSSpec* suspectSystemFolder);
- };
-
-
- #else
-
- #define FSpGetCatInfo FSpGetCatInfo__6FSUtil
- #define FSpDeleteItem FSpDeleteItem__6FSUtil
- #define FSpCopyItem FSpCopyItem__6FSUtil
- #define FSpMoveRenameItem FSpMoveRenameItem__6FSUtil
- #define UpdatePutAwayInfo UpdatePutAwayInfo__6FSUtil
- #define FSpEnsureUniqueName FSpEnsureUniqueName__6FSUtil
- #define ResolveFinderAlias ResolveFinderAlias__6FSUtil
-
- pascal OSErr FSpGetCatInfo__6FSUtil(FSSpecPtr object,CInfoPBPtr cat);
- pascal OSErr FSpDeleteItem__6FSUtil(FSSpecPtr item);
- pascal OSErr FSpCopyItem__6FSUtil(FSSpecPtr sourceItem,FSSpecPtr destItem);
- pascal OSErr FSpMoveRenameItem__6FSUtil(FSSpecPtr sourceItem,FSSpecPtr destItem);
- pascal OSErr UpdatePutAwayInfo__6FSUtil(const FSSpec *theSpec);
- pascal void FSpEnsureUniqueName__6FSUtil(FSSpecPtr item);
- pascal OSErr ResolveFinderAlias__6FSUtil(FSSpecPtr aliasFile,Boolean mountVol,Boolean *targetIsFolder,FSSpecPtr result);
- #endif